<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
       function sendXHR (url) {
           return new Promise((resolve, reject) => {
               const xhr = new XMLHttpRequest();
               xhr.responseType = 'json';
               xhr.open('GET', url);
               xhr.send();
               xhr.onreadystatechange = function(){
                    if(xhr.readyState === 4){
                        if(xhr.status >= 200 & xhr.status < 300){
                            resolve(xhr.response);
                        } else {
                            reject(xhr.status);
                        }
                    }
               }
           })
       }
       sendXHR('https://api.apiopen.top/getJoke').then( value => {
           console.log(value);
       }, reason => {
           console.warn(reason)
       })
    </script>
</body>
</html>